let Queue = (function () {
  let items = new WeakMap()
  class Queue {
    constructor() {
      items.set(this, [])
    }
    enqueue(v) { // 入列
      items.get(this).push(v)
    }
    dequeue() { // 出列
      return items.get(this).shift()
    }
    front() { // 获取当前队列首位
      return items.get(this)[0]
    }
    size() { // 栈长度
      return items.get(this).length
    }
    isEmpty() { // 栈是否为空
      return items.get(this).length === 0
    }
    clear() { // 清空栈
      items.get(this).length = 0
    }
  }
  return Queue
})()